﻿namespace BusinessLogicLayer
{
    using System;
    using System.Collections.Generic;
    using DataAccessLayer;

    /// <summary>
    /// This class represent a column in ColumnCollection.
    /// One column has status (New, InProgress, Done) and
    /// list of WorkItems with associated status
    /// </summary>
    public class Column
    {
        /// <summary>
        /// Status of column
        /// </summary>
        private readonly Statuses columnStatus;

        /// <summary>
        /// Initializes a new instance of the Column class 
        /// without input parameters.
        /// It is default constructor.
        /// </summary>
        public Column()
        {
        }

        /// <summary>
        /// Initializes a new instance of the Column class, which takes parameter
        /// with type Statuses and initialize status of column.
        /// </summary>
        /// <param name="status">value of column status</param>
        public Column(Statuses status)
        {
            this.columnStatus = status;
        }

        /// <summary>
        /// Gets status of column.
        /// </summary>
        public Statuses Status
        {
            get { return this.columnStatus; }
        }

        /// <summary>
        /// Gets or sets list of WorkItem's in column
        /// </summary>
        public List<WorkItem> ColumnItems { get; set; }
    }
}
